1. Technical Field
This disclosure generally relates to content management systems, and more specifically relates to rendering of content in a content management system.
2. Background Art
A content management system (CMS) allows many users to efficiently share electronic content such as text, audio files, video files, pictures, graphics, etc. Content management systems typically control access to content in a repository. A user may generate content, and when the content is checked into the repository, the content may be subsequently processed by the CMS according to predefined rules. A user may also check out content from the repository, or link to content in the repository while generating content.
A content management system typically manages documents (also referred to as objects) in a specified format, such as eXtensible Markup Language (XML). An XML document may be used to describe virtually any type of data. For example, XML grammars have been used to describe word processing documents, spreadsheets, database records, digital images and digital video, to name but a few. Further, specialized grammars are frequently specified by a domain specific XML schema (e.g., the eCTD specification promulgated by the International Conference on Harmonization of Technical Requirements (ICH)). A given XML document may also be associated with additional artifacts such as a document type definition (DTD), XSL style sheets, and other associated files, tools and utilities. XML data may be of different types, such as structured data, unstructured data, assembled data, and wizard data. Structured data is very structured, similar to relational data, and there is no unstructured data mixed in within the well-defined structure. Unstructured data is like traditional rich word processing formats, such as Microsoft Word. Microsoft and Word are registered trademarks of Microsoft Corporation. Assembled data represents a structure of links to external content. Wizard data is a special form of tabular data that uses a wizard to prompt the user to provide the data that is inserted into a table or other data structure. A given document may contain a mix of different types of data. Known applications such as applications for rendering different types of data are efficient and able to render certain types of data well, but not others. For example, an application such as Microsoft Word may be efficient in rendering unstructured data, but poor at rendering structured data. When a user decides to invoke a particular application to view a document that contains multiple types of data, the application may do a good job with respect to some types of data while doing a poor job with respect to other types of data in the same document. It is often difficult for a user to know which application to use when viewing a document with multiple types of data. Without a way for a content management system to render an object with different data types in a more efficient way, a user will have to manually switch applications when working with different types of data in an object.